Generally, a location of a mobile device (e.g., location fix) may be determined using measurements made by the device of radio signals transmitted by a number of access points, base stations and/or navigation satellites situated at known locations. Obtaining a location fix for a mobile device has become a critically important function in recent years. For mobile devices, there are numerous applications and web based services that take advantage of the location fix of the mobile device. For example, a map application on a mobile device or on a remote web server can select appropriate maps, direction, driving routes, etc., based on the current location of the mobile device. A social networking application can identify other users within the vicinity based on the location of the mobile device. In an emergency situation, public safety can be dispatched to the precise location of the user of a mobile device even when the user is not aware of the precise location or not able to communicate it. Many other examples exist.
Different techniques for obtaining a position fix, also known as a location estimate, a location or a location fix, for a mobile device may be appropriate under different conditions. In an outdoor environment, satellite-based approaches, e.g., GNSS (Global Navigation Satellite System) techniques may be suitable, because the mobile device may be able to receive satellite-based positioning signals with specific timing characteristics. Based on reception of such satellites signals for typically four or more satellites, a position fix for the mobile device may be calculated. However, satellite-based approaches are not preferred in indoor environments, because satellite signals cannot always be received or accurately measured indoors.
In indoor environments, such as a shopping mall, airport, sports arena, convention center, museum, hospital, office building, etc., terrestrial-based approaches making use of signals transmitted from cellular base stations (BSs) and/or wireless local area network (WLAN) access points (APs) are generally more useful for obtaining an accurate location fix for a mobile device. The mobile device observes and measures signals sent from BSs and/or APs. Different types of measurements may be obtained by a mobile device such as RSSI (Received Signal Strength Indication) and RTT (Round-trip Time). Such measurements may allow the mobile device or a separate location server to estimate the distance of the mobile device to each BS and/or AP. The mobile device or a location server may then estimate the location of the mobile device, based on the distances to different BSs and/or APs and the known locations of the BSs and/or APs.
In another example, the mobile device may compare the measured signal strength from each BS or AP to a grid of signal strength data providing the expected (e.g., calculated or previously measured) signal strength from each BS or AP at different locations. The mobile device may then determine its location, using a process such as pattern matching, by finding a particular location for which the expected signal strengths for a number of BSs and/or APs most closely match the signal strengths measured by the mobile device. An advantage of this approach is that the locations of the BSs and/or APs may not need to be known—just the locations where signals from the BSs and/or APs can be received with different expected signal strengths.
One problem with BS and/or AP-based approaches, in which pattern matching is used and in which the mobile device computes its own location, is the amount of data that the mobile device may need to receive (e.g., from an external location server) about each AP or BS when expected BS or AP signal strength values are provided for a large number of different locations. For example, a WLAN AP based on IEEE 802.11 WiFi standards or a small BS (e.g., a Femto cell or Home Base Station) may typically provide coverage up to a distance of 100 meters from the AP or BS, and a location service provider may wish to enable location accuracy with an error about one meter. In such a case, expected signal strength values may be provided in the form of a “heat map” for a grid of location points spaced 1 meter apart from each other over the entire AP or BS coverage area. In this example, the number of separate location grid points may be around 40,000 (e.g., for a square grid of size 200 by 200 meters centered on the AP or BS). If the expected signal strength value for, and the location of, each grid point can be encoded using N octets of data, sending a heat map comprising the signal strength data to a mobile device for the entire AP or BS coverage area would consume 40,000×N octets. Since a mobile device may be in coverage from other APs and/or small BSs, an equivalent amount of data may also need to be sent to the mobile device for each one of the other APs and/or small BSs. The total amount of data may easily be counted in mega-octets (e.g., even if N is as small as one octet) which may consume excessive resources in the mobile device, network and location server for signaling, processing and storage. In particular, this creates a problem for the mobile device, which generally has limited processing, battery power, and memory resources.
A second problem with BS and/or AP-based location approaches is that other data associated with BSs and APs may need to be provided to a mobile device (e.g., by a location server) in addition to or instead of a heat map for each BS and/or AP. Such other data may comprise information concerning the coverage area of each AP or BS (e.g., the geographic boundary of the coverage area), the type of coverage area (e.g., whether indoors, outdoors or partly indoors and partly outdoors) and other characteristics of each AP or BS such as the manufacturer of the BS or AP or the type of BS or AP (e.g., whether conforming to IEEE 802.11 WiFi standards or Bluetooth®). Such other data may also consume significant signaling, processing and storage if not transferred to a mobile device in an efficient compact form. Moreover, such additional data may require configuration in a network server (e.g., a location server) which may lead to an excessive amount of operator time to perform the configuration which in turn may cause various configuration errors when the data is configured for each of a large number of APs and/or BSs.